#import <UIKit/UIKit.h>
#import "MPTVBGPUContext.h"
#import "YXGLContext.h"

typedef enum {
    kMPTVBGPUFillModeStretch,
    kMPTVBGPUFillModePreserveAspectRatio,
    kMPTVBGPUFillModePreserveAspectRatioAndFill
} MPTVBGPUFillModeType; 

@interface MPTVBGPUView : UIView <MPTVBGPUInput>
{
    GLfloat backgroundColorRed, backgroundColorGreen, backgroundColorBlue, backgroundColorAlpha;
@public
    MPTVBGPURotationMode inputRotation;
}

@property(readwrite, nonatomic) MPTVBGPUFillModeType fillMode;

@property(readonly, nonatomic) CGSize sizeInPixels;

@property(nonatomic) BOOL enabled;

- (instancetype)initWithFrame:(CGRect)frame context:(EAGLContext *)context;
- (instancetype)initWithFrame:(CGRect)frame YXContext:(YXGLContext *)context;

- (void)setBackgroundColorRed:(GLfloat)redComponent green:(GLfloat)greenComponent blue:(GLfloat)blueComponent alpha:(GLfloat)alphaComponent;

@end
